######################### DISSERTAÇÃO DE MESTRADO
######################### AJUSTE DOS DADOS 
######################### LUCAS BORBA
######################### 27/09/2019


##### PACOTES #####
library(tidyverse)
library(plyr)

##### CARREGANDO DADOS #####

# CHES

ches99_14 <- read.csv("./Original data/ches_99-14.csv")
ches17 <- read.csv('./Original data/ches_17.csv')

# CLEA

load('./Original data/clea.rdata')
clea <- as.data.frame(clea_lc_20190617)
rm(clea_lc_20190617)

# ESS
ess <- read.csv('./Original data/ess.csv')

ess2 <- ess[ess$essround == 8,]

##### MERGE DOS DADOS DO CHES #####

# nome das variáveis
nam <- intersect(names(ches17), names(ches99_14))

# selecionando somente as colunas em comum
ches1 <- ches99_14[nam]
ches2 <- ches17[nam]

# fazendo row bind das observações com variáveis em comum
ches <- rbind(ches1, ches2)

# dados do ches de 99 a 2017
write.csv(ches, './Analysis data/ches_99-17.csv')

# removendo objetos
rm(nam, ches1)

##### FILTRANDO DADOS #####

# selecionando partidos de direita radical do banco do CHES
rr <- ches %>% filter(family %in% c('rad right', '1. radical TAN') &
                              country %in% c('aus', 'be', 'dk', 'esp', 'fin',
                                             'fr', 'ge', 'gr', 'irl', 'it',
                                             'lux', 'nl', 'por', 'sv', 'uk',
                                             'ger', 'swe'))

# selecionando países europeus
cleaeu <- clea %>% filter(ctr_n %in% c('Austria', 'Belgium', 'Denmark',
                                       'Finland', 'France', 'Germany', 'Greece',
                                       'Italy', 'Netherlands', 'Sweden', 'UK'))

# separando os partidos de direita radical
rrpaus <- cleaeu[cleaeu$pty %in% c("9", "21") & cleaeu$ctr_n == "Austria",]
rrpbe <- cleaeu[cleaeu$pty %in% c("8", "36") & cleaeu$ctr_n == "Belgium",] 
rrpdk <- cleaeu[cleaeu$pty == "6" & cleaeu$ctr_n == "Denmark",]
rrpfi <- cleaeu[cleaeu$pty == "38" & cleaeu$ctr_n == "Finland",]
rrpfr <- cleaeu[cleaeu$pty %in% c("15", "7") & cleaeu$ctr_n == "France",]
rrpge <- cleaeu[cleaeu$pty %in% c("26", "42", "70", "96") & cleaeu$ctr_n == "Germany",]
rrpgr <- cleaeu[cleaeu$pty %in% c("67", "94", "62") & cleaeu$ctr_n == "Greece",]
rrpit <- cleaeu[cleaeu$pty %in% c("1", "15", "21") & cleaeu$ctr_n == "Italy",]
rrpsd <- cleaeu[cleaeu$pty %in% c("16", "26") & cleaeu$ctr_n == "Sweden",]
rrpuk <- cleaeu[cleaeu$pty %in% c("11", "139") & cleaeu$ctr_n == "UK",]
rrpnl <- cleaeu[cleaeu$pty %in% c("71", "56", "5") & cleaeu$ctr_n == "Netherlands",]

# binding datasets
clea_rrp <- bind_rows(rrpaus, rrpbe, rrpdk, rrpfi, rrpfr, rrpge, rrpgr, rrpit, 
                      rrpnl, rrpsd, rrpuk)

# removendo objetos
rm(list = c("cleaeu", "rrpaus", "rrpbe", "rrpdk", "rrpfi", "rrpfr", "rrpge", 
            "rrpgr", "rrpit", "rrpnl", "rrpsd", "rrpuk"))

# renomeando os partidos
clea_rrp$pty_n <- as.character(clea_rrp$pty_n) 
clea_rrp$pty_n[clea_rrp$pty_n == "National Front"] <- "front national"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("FPÖ", "freiheitliche partei österreichs")] <- "FPÖ"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("lega nord", "Lega")] <- "LN"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("PS", "perussuomalaiset")] <- "PS"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("Partij voor de Vrijheid", "partij voor de vrijheid")] <- "PVV"
clea_rrp$pty_n[clea_rrp$pty_n == "alleanza nazionale"] <- "AN"
clea_rrp$pty_n[clea_rrp$pty_n == "lijst pim fortuyn"] <- "LPF"
clea_rrp$pty_n[clea_rrp$pty_n == "Flemish Interest (VB)"] <- "VB"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("front national", "National Front") &
                     clea_rrp$ctr_n == "France"] <- "FN"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("front national", "National Front (FN)")] <- "FN (Belgium)"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("Anexartitoi Ellines", 
                                 "Anexartitoi Ellines - Ethniki Patriotiki Symmachia",
                                 "Anexartitoi Ellines - Panos Kammenos")] <- "ANEL"
clea_rrp$pty_n[clea_rrp$pty_n == "Sweden Democrats"] <- "SD"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("UK Independence Party", "united kingdom independence party")] <- "UKIP"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("bündnis zukunft österreich", "BZO")] <- "BZO"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("danks folkeparti", "dansk folkeparti")] <- "DK"
clea_rrp$pty_n[clea_rrp$pty_n == "ny demokrati"] <- "ND"
clea_rrp$pty_n[clea_rrp$pty_n == "Laikos Syndesmos - Chrysi Aygi"] <- "XA"
clea_rrp$pty_n[clea_rrp$pty_n == "movimento sociale italiano"] <- "MSI"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("Popular Orthodox Rally", 
                                 "Laikos Orthodoxos Synagermos (LaOS)", 
                                 "LaOS")] <- "LAOS"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("nationaldemokratische partei deutschlands", 
                                 "NPD")] <- "NPD"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("die republikaner", "REP")] <- "REP"
clea_rrp$pty_n[clea_rrp$pty_n %in% c("Movement for France", "mouvement pour la france")] <- "MPF"
clea_rrp$pty_n[clea_rrp$pty_n %in% c('British National Party', 'British National Party (i)')] <- "BNP"
clea_rrp$pty_n[clea_rrp$pty_n == "centrumdemocraten"] <- "CD"
clea_rrp$pty_n[clea_rrp$pty_n == "deutsche volksunioin"] <- "DVU"

# exportando dados
write.csv(rr, './Analysis data/ches_rr_99-17.csv')
write.csv(cleaeu, './Analysis data/cleaeu.csv')
write.csv(clea_rrp, './Analysis data/clea_rrp.csv')

# filtrando variáveis do ESS por país
at <- ess[ess$cntry == "AT",]
be <- ess[ess$cntry == "BE",]
de <- ess[ess$cntry == "DE",]
dk <- ess[ess$cntry == "DK",]
fi <- ess[ess$cntry == "FI",]
fr <- ess[ess$cntry == "FR",]
gb <- ess[ess$cntry == "GB",]
gr <- ess[ess$cntry == "GR",]
it <- ess[ess$cntry == "IT",]
nl <- ess[ess$cntry == "NL",]
sw <- ess[ess$cntry == "SE",]

##### criando variável para voto em populistas por país #####
# austria
at$vote_rrp <- ifelse(at$prtvtat == 3 | at$prtvtaat %in% c(3, 4) | at$prtvtbat %in% c(3, 4), 1, 0)
table(at$vote_rrp)

# bélgica
be$vote_rrp <- ifelse(be$prtvtbe %in% c(8, 15) | be$prtvtabe %in% c(7, 11) | 
                              be$prtvtbbe %in% c(7, 11) | be$prtvtcbe %in% c(7, 11), 1, 0)
table(be$vote_rrp)

# alemanha (lista)
de$vote_rrp <- ifelse(de$prtvde2 == 6 | de$prtvade2 == 7 | de$prtvbde2 %in% c(6, 7) |
                              de$prtvcde2 %in% c(6, 7) | de$prtvdde2 %in% c(6, 7, 8) |
                              de$prtvede2 %in% c(6, 7, 8), 1, 0)
de$vote_rrp[is.na(de$vote_rrp)] <- 0
table(de$vote_rrp)

# dinamarca
dk$vote_rrp <- ifelse(dk$prtvtdk == 6 | dk$prtvtadk == 6 | dk$prtvtbdk == 5 |
                              dk$prtvtcdk == 5, 1, 0)
table(dk$vote_rrp)
dk$vote_rrp[is.na(dk$vote_rrp)] <- 0

# finlândia
fi$vote_rrp <- ifelse(fi$prtvtfi == 5 | fi$prtvtafi == 5 | fi$prtvtbfi == 5 |
                              fi$prtvtcfi == 4 | fi$prtvtdfi == 4, 1, 0)
table(fi$vote_rrp)
fi$vote_rrp[is.na(fi$vote_rrp)] <- 0

# frança
fr$vote_rrp <- ifelse(fr$prtvtfr %in% c(3, 8) | fr$prtvtafr %in% c(3, 8) |
                              fr$prtvtbfr %in% c(2, 5) | fr$prtvtcfr %in% c(2, 8), 1, 0)
table(fr$vote_rrp)

# reino unido
gb$vote_rrp <- ifelse(gb$prtvtagb %in% c(7, 8) | gb$prtvtbgb == 7, 1, 0)
table(gb$vote_rrp)

# grécia
gr$vote_rrp <- ifelse(gr$prtvtgr == 2 | gr$prtvtagr == 2 | gr$prtvtbgr == 2 |
                              gr$prtvtcgr %in% c(2, 10), 1, 0)
table(gr$vote_rrp)
gr$vote_rrp[is.na(gr$vote_rrp)] <- 0

# itália
it$vote_rrp <- ifelse(it$prtvtit %in% c(9, 11) | it$prtvtait %in% c(9, 11) |
                              it$prtvtbit == 9, 1, 0)
table(it$vote_rrp)

# holanda
nl$vote_rrp <- ifelse(nl$prtvtnl == 4 | nl$prtvtanl == 4 | nl$prtvtbnl == 4 |
                              nl$prtvtcnl %in% c(4, 11) | nl$prtvtdnl == 3 | nl$prtvtenl == 3 |
                              nl$prtvtfnl == 3, 1, 0)
table(nl$vote_rrp)
nl$vote_rrp[is.na(nl$vote_rrp)] <- 0

# suécia
sw$vote_rrp <- ifelse(sw$prtvtase == 10 | sw$prtvtbse == 10, 1, 0)
table(sw$vote_rrp)
sw$vote_rrp[is.na(sw$vote_rrp)] <- 0

##### criando variável para proximidade com partidos populistas #####
at$prox_rrp <- ifelse(at$prtclat == 3 | at$prtclaat %in% c(3, 4) | at$prtclcat %in% c(3, 4), 1, 0)
table(at$prox_rrp)

# bélgica
be$prox_rrp <- ifelse(be$prtclbe %in% c(8, 15) | be$prtclabe %in% c(8, 12) | 
                              be$prtclbbe %in% c(8, 12) | be$prtclcbe %in% c(7, 11), 1, 0)
table(be$prox_rrp)

# alemanha (lista)
de$prox_rrp <- ifelse(de$prtclde == 6 | de$prtclade %in% c(6, 7)  | de$prtclbde %in% c(6, 7) |
                              de$prtclcde %in% c(6, 7) | de$prtcldde %in% c(6, 7, 8) |
                              de$prtclede %in% c(6, 7, 8), 1, 0)
de$prox_rrp[is.na(de$prox_rrp)] <- 0
table(de$prox_rrp)

# dinamarca
dk$prox_rrp <- ifelse(dk$prtcldk == 6 | dk$prtcladk == 6 | dk$prtclbdk == 5 |
                              dk$prtclcdk == 5, 1, 0)
table(dk$prox_rrp)
dk$prox_rrp[is.na(dk$prox_rrp)] <- 0

# finlândia
fi$prox_rrp <- ifelse(fi$prtclfi == 5 | fi$prtclafi == 5 | fi$prtclbfi == 5 |
                              fi$prtclcfi == 4 | fi$prtcldfi == 4, 1, 0)
table(fi$prox_rrp)
fi$prox_rrp[is.na(fi$prox_rrp)] <- 0

# frança
fr$prox_rrp <- ifelse(fr$prtclfr %in% c(3, 8) | fr$prtclafr %in% c(2, 7) |
                              fr$prtclbfr %in% c(2, 6) | fr$prtclcfr == 1 |
                              fr$prtclcfr %in% c(2, 9), 1, 0)
table(fr$prox_rrp)

# reino unido
gb$prox_rrp <- ifelse(gb$prtclbgb == 7, 1, 0)
table(gb$prox_rrp)

# grécia
gr$prox_rrp <- ifelse(gr$prtclgr == 2 | gr$prtclagr == 2 | gr$prtclbgr == 2 |
                              gr$prtclcgr %in% c(2, 12), 1, 0)
table(gr$prox_rrp)
gr$prox_rrp[is.na(gr$prox_rrp)] <- 0

# itália
it$prox_rrp <- ifelse(it$prtclit %in% c(9, 11) | it$prtclait %in% c(9, 11) |
                              it$prtclbit == 9, 1, 0)
table(it$prox_rrp)

# holanda
nl$prox_rrp <- ifelse(nl$prtclnl == 4 | nl$prtclanl == 4 | nl$prtclbnl == 4 |
                              nl$prtclcnl == 3 | nl$prtcldnl == 3 | nl$prtclenl == 3
                      , 1, 0)
table(nl$prox_rrp)
nl$prox_rrp[is.na(nl$prox_rrp)] <- 0

# suécia
sw$prox_rrp <- ifelse(sw$prtclase == 10 | sw$prtclbse == 10, 1, 0)
table(sw$prox_rrp)
sw$prox_rrp[is.na(sw$prox_rrp)] <- 0


##### criando dataset para o ESS #####
# juntando datasets
ess_intvar <- bind_rows(at, be, de, dk, fr, fi, gb, gr, it, nl, sw)

# excluindo variáveis 
ess_intvar <- ess_intvar %>% select(-c("prtvade1", "prtvbde1", "prtvcde1", "prtvdde1", 
                                       "prtvede1", "prtvde2",  "prtvade2", "prtvbde2", "prtvcde2", "prtvdde2", 
                                       "prtvede2", "prtvtfr",  "prtvtafr", "prtvtbfr", "prtvtcfr", "prtvtat", 
                                       "prtvtaat", "prtvtbat", "prtvtbe", "prtvtabe", "prtvtbbe", "prtvtcbe",
                                       "prtvtdk", "prtvtadk", "prtvtbdk", "prtvtcdk", "prtvtfi", "prtvtafi",
                                       "prtvtbfi", "prtvtcfi", "prtvtdfi", "prtvtgb", "prtvtagb", "prtvtbgb",
                                       "prtvtgr", "prtvtagr", "prtvtbgr", "prtvtcgr", "prtvtit", "prtvtait", 
                                       "prtvtbit", "prtvtnl", "prtvtanl", "prtvtbnl", "prtvtcnl", "prtvtdnl",
                                       "prtvtenl", "prtvtfnl", "prtvtse", "prtvtase", "prtvtbse"))

ess_intvar <- ess_intvar %>% select(-c(42 : 202))

##### recodificando variáveis #####

# criando variável para proximidade com partidos
ess$partisan <- ifelse(prtdgcl %in% c(1, 2), 1, 0)
ess$partisan[is.na(ess$partisan)] <- 0
summary(ess$partisan)

# inserindo NAs nas variáveis relacionadas à ocupação do respondente
ess_intvar$iscoco[ess_intvar$iscoco > 9330] <- NA
ess_intvar$isco08[ess_intvar$isco08 > 9629] <- NA

# criando variável blue collar
ess_intvar$blue_c <- ifelse(ess_intvar$iscoco > 7000 & ifelse(ess_intvar$isco08 > 7000 & ess_intvar$isco08 <= 9330, 1, 0), 1, 0)
ess_intvar$blue_c[is.na(ess_intvar$blue_c)] <- 1

# acompanhamento de notícias sobre política
ess_intvar$tvpol[ess_intvar$tvpol > 7] <- NA
ess_intvar$rdpol[ess_intvar$rdpol > 7] <- NA
ess_intvar$nwsppol[ess_intvar$nwsppol > 7] <- NA

# interess_intvare e sentimento de participação política
ess_intvar$polintr[ess_intvar$polintr > 4] <- NA
ess_intvar$psppsgv[ess_intvar$psppsgv > 10] <- NA
ess_intvar$psppsgva[ess_intvar$psppsgva > 5] <- NA
ess_intvar$actrolg[ess_intvar$actrolg > 10] <- NA
ess_intvar$actrolga[ess_intvar$actrolga > 5] <- NA
ess_intvar$psppipl[ess_intvar$psppipl > 10] <- NA
ess_intvar$psppipla[ess_intvar$psppipla > 5] <- NA
ess_intvar$cptppol[ess_intvar$cptppol > 10] <- NA
ess_intvar$cptppola[ess_intvar$cptppola > 5] <- NA
ess_intvar$polcmpl[ess_intvar$polcmpl > 5] <- NA
ess_intvar$poldcs[ess_intvar$poldcs > 5] <- NA

# confiança nas instituições políticas
ess_intvar$trstprl[ess_intvar$trstprl > 10] <- NA
ess_intvar$trstplt[ess_intvar$trstplt > 10] <- NA
ess_intvar$trstprt[ess_intvar$trstprt > 10] <- NA
ess_intvar$trstep[ess_intvar$trstep > 10] <- NA

# o respondente votou ou não nas últimas eleições
ess_intvar$vote[ess_intvar$vote > 2] <- NA
ess_intvar$vote <- ifelse(ess_intvar$vote == 1, 1, 0)

# contato com políticos
ess_intvar$contplt[ess_intvar$contplt > 2] <- NA
ess_intvar$contplt[ess_intvar$contplt == 2] <- 0

# trabalhou em partidos ou organizações políticas nos últimos 12 meses
ess_intvar$wrkprty[ess_intvar$wrkprty > 2] <- NA
ess_intvar$wrkprty[ess_intvar$wrkprty == 2] <- 0

# usou adereços de campanha
ess_intvar$badge[ess_intvar$badge > 2] <- NA
ess_intvar$badge[ess_intvar$badge == 2] <- 0

# se sente próximo de algum partido
ess_intvar$clsprty[ess_intvar$clsprty > 2] <- NA
ess_intvar$clsprty[ess_intvar$clsprty == 2] <- 0

# o quão próximo de um partido
ess_intvar$prtdgcl[ess_intvar$prtdgcl > 4] <- NA

# membro de um partido político
ess_intvar$mmbprty[ess_intvar$mmbprty > 2] <- NA
ess_intvar$mmbprty[ess_intvar$mmbprty == 2] <- 0

# escala esquerda-direita
ess_intvar$lrscale[ess_intvar$lrscale > 10] <- NA

# satisfação com a vida
ess_intvar$stflife[ess_intvar$stflife > 10] <- NA

# satisfação com a economia
ess_intvar$stfeco[ess_intvar$stfeco > 10] <- NA

# satisfação com o governo
ess_intvar$stfgov[ess_intvar$stfgov > 10] <- NA

# satisfação com a democracia
ess_intvar$stfdem[ess_intvar$stfdem > 10] <- NA

# partidos políticos que desafiam a democracia devem ser banidos
ess_intvar$prtyban[ess_intvar$prtyban > 5] <- NA
ess_intvar$prtyban <- max(ess_intvar$prtyban, na.rm = T) - ess_intvar$prtyban

# o process_intvaro de integração europeia já foi longe de mais
ess_intvar$euftf[ess_intvar$euftf > 10] <- NA

# restrição no número de imigrantes
ess_intvar$imdfetn[ess_intvar$imdfetn > 4] <- NA

# restrição de imigrantes provenientes de países pobres fora da Europa
ess_intvar$impcntr[ess_intvar$impcntr > 4] <- NA

# imigração é bom para a economia do país
ess_intvar$imbgeco[ess_intvar$imbgeco > 10] <- NA

# a cultura do país é enriquecida pelos imigrantes
ess_intvar$imueclt[ess_intvar$imueclt > 10] <- NA

# imigrantes fazem do país um lugar melhor para se viver
ess_intvar$imwbcnt[ess_intvar$imwbcnt > 10] <- NA

# imigrantes fazem pioram ou melhoram os índices de crime
ess_intvar$imwbcrm[ess_intvar$imwbcrm > 10] <- NA

# em cada 100 pess_intvaroas, quantas são imigrantes?
ess_intvar$noimbro[ess_intvar$noimbro >= 777] <- NA

# aceitação dos costumes do país de destino como critério para se aceitar mais imigrantes
ess_intvar$qfimcmt[ess_intvar$qfimcmt > 10] <- NA

# qualificação para imigração: ser branco
ess_intvar$qfimwht[ess_intvar$qfimwht > 10] <- NA

# é importante seguir tradições e costumes
ess_intvar$imptrad[ess_intvar$imptrad > 6] <- NA
ess_intvar$imptrad <- max(ess_intvar$imptrad, na.rm = T) - ess_intvar$imptrad

# é importante o governo ser forte e prover segurança
ess_intvar$ipstrgv[ess_intvar$ipstrgv > 6] <- NA
ess_intvar$ipstrgv <- max(ess_intvar$ipstrgv, na.rm = T) - ess_intvar$ipstrgv

# importante viver em vizinhanças seguras
ess_intvar$impsafe[ess_intvar$impsafe > 6] <- NA
ess_intvar$impsafe <- max(ess_intvar$impsafe, na.rm = T) - ess_intvar$impsafe

# o emprego atual é seguro
ess_intvar$jbscr[ess_intvar$jbscr > 4] <- NA
ess_intvar$jbscr <- max(ess_intvar$jbscr, na.rm = T) - ess_intvar$jbscr

# sempre otimista em relação ao futuro
ess_intvar$optftr[ess_intvar$optftr > 5] <- NA
ess_intvar$optftr <- max(ess_intvar$optftr, na.rm = T)

# se sente ansioso nos últimos tempos
ess_intvar$fltanx[ess_intvar$fltanx > 4] <- NA

# difícil se sentir esperançoso com o futuro
ess_intvar$nhpftr[ess_intvar$nhpftr > 5] <- NA
ess_intvar$nhpftr <- max(ess_intvar$nhpftr) - ess_intvar$nhpftr

# a vida está ficando pior para os concidadãos
ess_intvar$lfwrs[ess_intvar$lfwrs > 5] <- NA
ess_intvar$lfwrs <- max(ess_intvar$lfwrs) - ess_intvar$lfwrs

# percepção do número de desempregados
ess_intvar$uemplwk[ess_intvar$uemplwk > 11] <- NA %>% as.factor()

# pess_intvaroas de minorias raciais ou étnicas convivem na mesma área que o respondente
ess_intvar$acetalv[ess_intvar$acetalv > 3] <- NA

# anos de educação
ess_intvar$eduyrs[ess_intvar$eduyrs >= 77] <- NA

# gênero
ess_intvar$gndr[ess_intvar$gndr > 2] <- NA
ess_intvar$gndr[ess_intvar$gndr == 2] <- 0

# idade
ess_intvar$agea[ess_intvar$agea == 999] <- NA

# ficou desempregado em alguma ocasião nos últimos cinco anos
ess_intvar$uemp5yr[ess_intvar$uemp5yr > 2] <- NA
ess_intvar$uemp5yr[ess_intvar$uemp5yr == 2] <- 0

ess$imsmetn[ess$imsmetn > 4] <- NA

# criando nova variável para o número de imigrantes
ess$noimbro2 <- ess$noimbro
ess$noimbro2[is.na(ess$noimbro2)] <- mean(ess$noimbro2, na.rm = T)

summary(ess$noimbro)

# exportando dados 
write.csv(ess, './Analysis data/ess_westeu.csv')

names(ess_intvar)